The present invention relates to systems and methods for accelerating web page loading. Specifically, the present invention relates to a system which accelerates web page loading without requiring modifications to user client software or to the manner in which users operate such software.
It is widely accepted that fast-loading web pages improve the user experience and thus enhance data retrieval, e-commerce and the like. A recent study has shown that even though Internet outages receive the bulk of the press, slow web page loading represented the majority of e-commerce impact costing on-line retailers three times as much as unplanned outages. According to two surveys conducted by Forrester Research and Gartner Group, e-commerce sites are losing $1.1 to $1.3 billion in revenue each year due to customer click-away caused by slow web page loading. Thus, it does not matter how beautiful and informative a web page is, it will not generate the business needed to survive if it takes too long to load.
The load time of a web page can be affected by a number of factors including the size and complexity of the web page, the responsiveness and location of the site's servers, and the Internet connection speed of the end users. Although end-user bandwidth has increased in the last several years, web page designs have evolved to include more scripts, stylesheets, images, and Flash™ and since in some cases the majority of a page load time is spent in separate HTTP requests for such objects, page load times are still less than optimal for many sites.
In recent years, several approaches for accelerating web page loading have been implemented on the server or client side.
Asynchronous JavaScript and XML (AJAX) enables a browser to alter the layout of the page instantly or fetch a small amount of HTML, XML, or JavaScript from the server and alter the existing page rather than completely retrieve a new page with every click. This significantly decreases the amount of time between a user click and the browser finishing rendering the new content. Although use of AJAX results in some acceleration of web page loading, with AJAX users have less intuition about which type of events within a page may result in a need to wait for a server response. In addition, AJAX can perform poorly over slow or unreliable networks and thus may reduce usability if not carefully designed to accommodate both fast and slow network characteristics.
Content Delivery Networks (CDNs) accelerate content fetching by caching it closer to the end-user in terms of round trip time (RTT), however, CDNs are relatively costly in terms of performance, are static and thus cannot handle dynamic content and do not handle browser delays resulting from, for example, from JavaScript.
WAN Optimization Controllers (WOCs) are devices which are used to accelerate content delivery between two points. However, since WOCs are symmetrical in nature, they require installation at many points.
Application Front Ends (AFEs), Load Balancers (LBs), and database (DB) accelerators are all technologies used for accelerating the backend (server). However, in current networks the backend only contributes about 15% to the overall non-responsiveness in web page loading.
Although the above described approaches can be used to accelerate web page loading, there remains a need for systems which can be used to substantially accelerate web page loading, and especially systems which do not require modification to the frontend (user client) for operability.